import os
import shutil

def organize_folder_by_extension(target_dir):
    """
    根据文件扩展名整理文件夹。
    """
    if not os.path.isdir(target_dir):
        print(f"错误: 目录 '{target_dir}' 不存在。")
        return

    for filename in os.listdir(target_dir):
        file_path = os.path.join(target_dir, filename)
        if os.path.isfile(file_path):
            # 获取扩展名，并去掉点，转为小写，如 'txt'
            extension = os.path.splitext(filename)[1][1:].lower()
            if extension:
                # 创建以扩展名命名的子文件夹
                dest_dir = os.path.join(target_dir, extension)
                os.makedirs(dest_dir, exist_ok=True)

                # 移动文件
                print(f"正在移动 {filename} -> {dest_dir}")
                shutil.move(file_path, dest_dir)
    print("文件整理完成！")

if __name__ == '__main__':
    # 使用说明:
    # 1. 创建一个名为 'messy_folder' 的文件夹。
    # 2. 在里面放入各种类型的文件 (如 a.txt, b.jpg, c.pdf, d.txt)。
    # 3. 运行此脚本。
    organize_folder_by_extension('messy_folder')